package cc.linker.steplink.crm.merchant.dao.acs;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PageDao {

    Boolean addModule(Map<String, Object> param);

    Boolean updateModule(Map<String, Object> param);

    void delModuleImage(String id);

    void addModuleImage(List<Map<String, Object>> temps);

    void addEnrollImage(List<Map<String, Object>> temps);

    String getCtimeByOrgId(String orgId);

    Map<String, Object> getSaleInfoByAdminId(String adminId);

    List<Map<String, Object>> moduleList(String customerId);

    Map<String, Object> getGoodsModule(Map<String, Object> param);

    void delModule(@Param("id") String id, @Param("customerId") String customerId);

    Map<String, Object> getModule(String id);

    List<Map<String, Object>> getModuleImage(String id);

    void sortModule(List<Map<String, Object>> param);

    Map<String, Object> getEnrollModule(String id);

    List<Map<String, Object>> getEnrollImage(String id);

    void delModuleImageByEnrollId(String enrollId);

    List<Map<String, Object>> goodsList(Map<String, Object> param);

    List<Map<String, Object>> moduleGoodsList(Map<String, Object> param);

    void addGoodsList(Map<String, Object> param);

    /****************************新版页面装修功能**v1.12.6版本***************************************************/

    void deletePage(@Param("id") Integer id, @Param("customerId") String customerId);

    List<Map<String, Object>> pageList(Map<String, Object> param);

    void insertPage(Map<String, Object> param);

    void updatePage(Map<String, Object> param);

    void delPageModule(Integer id);

    void delPageModuleImage(Integer id);

    void insertPageModule(Map<String, Object> module);

    void insertPageImageModule(Map<String, Object> image);

    void saveFooter(Map<String, Object> param);

    void delFooter(Map<String, Object> param);


    Map<String, Object> getPage(Integer id);

    List<Map<String, Object>> getModuleList(Integer id);

    List<Map<String, Object>> getImageList(String id);

    void updateFooter(Map<String, Object> param);

    void saveFooterItem(Map<String, Object> param);

    void delFooterItem(Map<String, Object> param);

    List<Map<String, Object>> getPageList(@Param("customerId") String customerId, @Param("pageKind") Integer pageKind);

    Integer getPageIdByCustomerId(String customerId);

    void insertFooterItem(Map<String, Object> footerItemParam);

    void cancleIndePage(String customerId);

    void setIndexPage(@Param("id") Integer id, @Param("customerId") String customerId);

    Integer getListGoodsCustomCount(Map<String, Object> paramCustom);

    List<Map<String, Object>> getListGoodsCustom(Map<String, Object> paramCustom);

    List<Map<String, Object>> getPageEnrollList(Map<String, Object> module);

    Integer getEnrollCount(Map<String, Object> module);

    int checkIfBindFooter(@Param("id") Integer id, @Param("customerId") String customerId);

    int checkSameName(Map<String, Object> param);

    int countGoodsGroup(@Param("goodsGroupId") Integer goodsGroupId);

    int countCustomerGoodsGroup(@Param("goodsGroupId") Integer goodsGroupId);

    void delMarking(@Param("orgId") String orgId);

    void insertMarking(@Param("markings") List<Map> markings,@Param("orgId")  String orgId);
}
